package cn.wlj.origin;

/**
 * @ClassName Constant
 * @Description TODO 常量类
 * @Author WLJ
 * @Date 2024/1/9 20:30
 * @Version 1.0
 */
public abstract class Constant {

    /**
     * @Author WLJ
     * @Description //TODO 简单模式
     * @Date 20:32 2024/1/9
     * @version 1.0
     **/
    public static class Simple {
        // 队列名
        public static String QUEUE_NAME = "simple_queue";
    }
    /*
     * @Author WLJ
     * @Description //TODO 工作模式
     * @Date 20:17 2024/1/11
     * @version 1.0
     **/
    public static class Work {
        // 队列名
        public static String QUEUE_NAME = "work_queue";
    }
    /*
     * @Author WLJ
     * @Description //TODO 广播模式
     * @Date 13:40 2024/1/14
     * @version 1.0
     **/
    public static class Fanout {
        // 交换机名
        public static String EXCHANGE_NAME = "fanout_exchange";

        // 队列名1
        public static String QUEUE_NAME_1 = "fanout_queue1";

        // 队列名2
        public static String QUEUE_NAME_2 = "fanout_queue2";
    }
    /*
     * @Author WLJ
     * @Description //TODO 路由键模式
     * @Date 20:54 2024/1/15
     * @version 1.0
     **/
    public static class Routing {
        // 交换机名
        public static String EXCHANGE_NAME = "routing_exchange";

        // 插入队列
        public static String INSERT_QUEUE_NAME = "insert_queue";

        // 插入路由键
        public static String INSERT_ROUTING_KEY = "insert";

        // 更新队列
        public static String UPDATE_QUEUE_NAME = "update_queue";

        // 更新路由键
        public static String UPDATE_ROUTING_KEY = "update";

    }
    /**
     * @Author WLJ
     * @Description //TODO 通配符模式
     * @Date 20:21 2024/1/16
     * @version 1.0
     **/
    public static class Topic {
        // 交换机名称
        public static String EXCHANGE_NAME = "topic_exchange";

        // 插入队列
        public static String INSERT_QUEUE_NAME = "topic_insert_queue";

        // 插入的路由键
        public static String INSERT_ROUTING_KEY = "topic_insert_routing";

        // 插入的通配符
        public static String INSERT_FLAG = "topic_insert_*";

        // 更新和删除队列
        public static String UPDATE_DELETE_QUEUE_NAME = "topic_update_delete_queue";

        // 更新的路由键
        public static String UPDATE_ROUTING_KEY = "topic_update_routing";

        // 更新的通配符
        public static String UPDATE_FLAG = "topic_update_*";

        // 删除的路由键
        public static String DELETE_ROUTING_KEY = "topic_delete_routing";

        // 删除的通配符
        public static String DELETE_FLAG = "topic_delete_*";

        // 所有消息的队列
        public static String ALL_QUEUE = "topic_queue";

        // 所有消息的路由键
        public static String ALL_ROUTING_KEY = "*_routing";
    }
}
